Macros এবং Directives (Macros and Directives)

Computer Programming - অ্যাসেম্বলি প্রোগ্রামিং (Assembly Programming)
289
289

Macros এবং Directives Assembly Language প্রোগ্রামিংয়ে কোড সংক্ষেপ এবং নিয়ন্ত্রণের জন্য ব্যবহৃত গুরুত্বপূর্ণ উপাদান। Macros হল কোড ব্লকের সংকলন যা প্রোগ্রামে একাধিকবার ব্যবহার করা যায়, আর Directives হল অ্যাসেম্বলারকে নির্দিষ্ট কাজ করার জন্য নির্দেশনা প্রদান করে।


Macros (ম্যাক্রো):

  • সংজ্ঞা: Macros হল কোডের ব্লক যা একবার লেখা হলে প্রোগ্রামে একাধিকবার ব্যবহার করা যায়। Macros সাধারণত ছোট এবং পুনরাবৃত্ত কাজগুলোকে সহজ করার জন্য ব্যবহৃত হয়।
  • কাজের পদ্ধতি:
    • Macros প্রি-প্রসেসিং ধাপে এক্সপ্যান্ড করা হয়, যার অর্থ যখনই ম্যাক্রো কল করা হয়, তখন অ্যাসেম্বলার সেই স্থানে পুরো ম্যাক্রো কোড পেস্ট করে।
    • এটি কোড পুনর্ব্যবহারযোগ্যতা বাড়ায় এবং কোডের পাঠযোগ্যতা উন্নত করে।
  • লিখন গঠন:

    myMacro MACRO param1, param2
        MOV AX, param1
        ADD AX, param2
    ENDM
  • ব্যবহারিক উদাহরণ:

    myMacro 5, 10      ; এই কলের সময়, অ্যাসেম্বলার MOV এবং ADD নির্দেশনা এখানে পেস্ট করবে

Macros-এর সুবিধা:

  • কোড পুনরাবৃত্তি এড়িয়ে যায়।
  • কম্পাইলেশনের সময় কোড পেস্ট করে কার্যক্ষমতা বৃদ্ধি করে।
  • প্রোগ্রামিংয়ে সাধারণ কাজ সহজ করে তোলে।

Directives (ডিরেক্টিভ):

  • সংজ্ঞা: Directives হল অ্যাসেম্বলারকে নির্দিষ্ট নির্দেশনা দেয়, যা সংকলনের সময় কীভাবে কোড প্রসেস করতে হবে তা বলে। এটি অ্যাসেম্বলার নির্দেশনা এবং CPU ইনস্ট্রাকশন নয়।
  • ধরন:
    • Segment Definition Directives: SECTION, .DATA, .TEXT ইত্যাদি, যা প্রোগ্রামের বিভিন্ন অংশকে নির্দেশ করে।
    • Data Definition Directives: DB, DW, DD ইত্যাদি, যা মেমোরিতে ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
    • Equate Directives: EQU, যা কনস্ট্যান্ট তৈরি করতে ব্যবহৃত হয়।
  • লিখন গঠন:

    SECTION .data      ; ডেটা সেগমেন্ট শুরু
    msg DB 'Hello', 0  ; মেসেজ সংরক্ষণ
    
    SECTION .text      ; কোড সেগমেন্ট শুরু
    global _start      ; এন্ট্রি পয়েন্ট
  • ব্যবহারিক উদাহরণ:

    MAX_VAL EQU 100    ; MAX_VAL কনস্ট্যান্ট হিসেবে ১০০ নির্ধারণ

Directives-এর সুবিধা:

  • কোডের গঠন এবং বিন্যাস নিয়ন্ত্রণ করে।
  • মেমোরি এবং ডেটা পরিচালনা সহজ করে।
  • অ্যাসেম্বলারকে কীভাবে কোড প্রসেস করতে হবে তা নির্দেশ করে, যা প্রোগ্রামারদের জন্য প্রোগ্রামিং আরও সংগঠিত করে তোলে।

Macros এবং Directives এর মধ্যে পার্থক্য

বৈশিষ্ট্যMacrosDirectives
সংজ্ঞাকোডের ব্লক যা প্রোগ্রামে পুনরায় ব্যবহার করা যায়।অ্যাসেম্বলারকে কোড প্রসেসিং নির্দেশনা প্রদান করে।
ব্যবহারসাধারণ কাজ পুনরাবৃত্তির জন্য।কোড গঠন এবং সংকলন নিয়ন্ত্রণের জন্য।
সম্প্রসারণপ্রি-প্রসেসিং ধাপে এক্সপ্যান্ড হয়।সংকলনের সময় কাজ করে।
লিখন গঠনMACRO, ENDM দিয়ে সংজ্ঞায়িত।SECTION, DB, EQU ইত্যাদি দ্বারা ব্যবহৃত।

সারসংক্ষেপ

Macros এবং Directives Assembly Language প্রোগ্রামিংয়ে কোড সংক্ষেপ, পুনরায় ব্যবহার, এবং নিয়ন্ত্রণ নিশ্চিত করতে ব্যবহৃত হয়। Macros একটি ছোট কোড ব্লক যা প্রোগ্রামে পুনরায় ব্যবহার করা যায় এবং এক্সপ্যান্ডেড ফর্মে সংকলিত হয়। Directives অ্যাসেম্বলারকে নির্দিষ্ট কাজ করার জন্য নির্দেশনা দেয় এবং প্রোগ্রামের গঠন ও সংকলন প্রক্রিয়ার নিয়ন্ত্রণে সহায়তা করে।

common.content_added_by

Macros কী এবং কেন প্রয়োজন

207
207

Macros হলো Assembly Language-এ ব্যবহৃত একটি সরঞ্জাম যা কোডের একটি অংশকে সংজ্ঞায়িত করে এবং প্রোগ্রামে একাধিক স্থানে পুনরায় ব্যবহারের জন্য সহজ করে। এটি একটি ধরনের কোড টেমপ্লেট যা অ্যাসেম্বলার দ্বারা প্রসেসিংয়ের সময় স্বয়ংক্রিয়ভাবে প্রসারিত হয়। Macros প্রোগ্রামারদের জন্য কোড লেখার প্রক্রিয়াকে সহজ ও দ্রুত করতে সাহায্য করে।


Macros কী:

  • সংজ্ঞা: Macro হলো Assembly Language-এ কোডের পুনরাবৃত্ত অংশকে সংজ্ঞায়িত করার একটি উপায়। প্রোগ্রামাররা যখনই Macro কল করেন, অ্যাসেম্বলার সেই Macro-র কোডটি নির্দিষ্ট স্থানে বসিয়ে দেয়।
  • গঠন:

    MACRO_NAME MACRO param1, param2
        ; Macro-এর কোড
        MOV AX, param1
        ADD AX, param2
    ENDM
  • কল করার উদাহরণ:

    MACRO_NAME 5, 10  ; Macro-র কোড এখানে প্রসারিত হবে এবং 5 ও 10 ব্যবহার করবে

Macros এর প্রয়োজনীয়তা এবং সুবিধা:

  1. কোড পুনরায় ব্যবহার:
    • প্রয়োজন: যখন প্রোগ্রামে একই কোডের পুনরাবৃত্তি প্রয়োজন হয়, তখন Macro ব্যবহার করে কোড পুনরায় লেখার প্রয়োজন হয় না।
    • উদাহরণ: গণনার একটি বিশেষ অংশ যা বিভিন্ন স্থানে ব্যবহৃত হয়, Macro হিসেবে সংজ্ঞায়িত করলে একাধিকবার ব্যবহার করা সহজ।
  2. কোডের সরলীকরণ এবং কার্যক্ষমতা বৃদ্ধি:
    • প্রয়োজন: কোডের পাঠযোগ্যতা এবং ব্যবস্থাপনা সহজ করার জন্য Macro ব্যবহার করা হয়।
    • সুবিধা: প্রোগ্রামাররা বারবার ব্যবহৃত অংশগুলো Macro ব্যবহার করে ছোট ও পরিষ্কার কোড লিখতে পারেন।
  3. কোড রক্ষণাবেক্ষণ সহজ করা:
    • প্রয়োজন: যখন একটি অংশের পরিবর্তন প্রয়োজন হয়, তখন একবার Macro-তে পরিবর্তন করলেই সমস্ত স্থানে প্রভাবিত হয়।
    • সুবিধা: এক জায়গায় পরিবর্তন করলে একই Macro ব্যবহৃত সব জায়গায় সেই পরিবর্তন স্বয়ংক্রিয়ভাবে ঘটে।
  4. প্রসেসিং সময় কমানো:
    • প্রয়োজন: Macro কল করা হলে অ্যাসেম্বলার সেই কোডকে প্রসারিত করে। ফলে রানটাইমে কোনো ফাংশন কলের ওভারহেড থাকে না।
    • সুবিধা: কম সময়ে কার্য সম্পন্ন হয় এবং পারফরম্যান্স বৃদ্ধি পায়।

Macros এবং Procedures এর পার্থক্য:

বৈশিষ্ট্যMacrosProcedures
কোড এক্সপানশনঅ্যাসেম্বলার কোড প্রসারিত করে।কোড সংরক্ষণ করে এক স্থান থেকে কল করা হয়।
পারফরম্যান্সদ্রুত কার্য সম্পাদন কারণ কোনো ফাংশন কল নেই।ফাংশন কলের জন্য কিছুটা ওভারহেড থাকে।
রিটার্ন মানসাধারণত রিটার্ন মান নেই।রিটার্ন মান থাকতে পারে।
কোড পুনরায় ব্যবহারসহজে কোড পুনরায় ব্যবহারযোগ্য।পুনরায় ব্যবহারযোগ্য কিন্তু কলের সময় ওভারহেড।

Macros এর উদাহরণ:

Macro সংজ্ঞা:

SUM MACRO num1, num2
    MOV AX, num1
    ADD AX, num2
ENDM

Macro কল করা:

SUM 5, 10   ; এখানে SUM Macro কল করা হলে কোডে MOV AX, 5 এবং ADD AX, 10 প্রসারিত হবে।

সারসংক্ষেপ

Macros Assembly Language প্রোগ্রামিংয়ে কোড পুনরাবৃত্তি কমাতে, কোড সহজ করতে, এবং কার্যক্ষমতা বাড়াতে ব্যবহৃত হয়। এটি প্রোগ্রামের পাঠযোগ্যতা ও রক্ষণাবেক্ষণ সহজ করে। Macros ফাংশনের মতো কাজ করে, তবে এটি অ্যাসেম্বলার দ্বারা প্রসারিত হয় এবং রানটাইমে ফাংশন কলের ওভারহেড থাকে না। ফলে প্রোগ্রামিংয়ে সময় এবং প্রয়াস উভয়ই বাঁচায়।

common.content_added_by

Macro Definition এবং Macro Expansion

284
284

Macro হলো Assembly Language-এ এমন একটি কৌশল যা প্রোগ্রামারদের কোড পুনরায় ব্যবহারযোগ্য এবং সহজভাবে লেখার সুযোগ দেয়। একটি ম্যাক্রো হলো নির্দেশনাসমূহের একটি ব্লক যা একবার সংজ্ঞায়িত করে প্রোগ্রামের বিভিন্ন স্থানে ব্যবহার করা যায়। Macro Definition হলো ম্যাক্রোর সংজ্ঞা এবং Macro Expansion হলো সেই ম্যাক্রো যখন প্রোগ্রামে ব্যবহার করা হয়, তখন তার সম্পূর্ণ কোড স্থাপন করা।


Macro Definition (ম্যাক্রো সংজ্ঞা):

  • ম্যাক্রো সংজ্ঞা একটি নাম এবং নির্দেশনাসমূহের একটি সেট নিয়ে গঠিত।
  • ম্যাক্রো সংজ্ঞা MACRO কীওয়ার্ড দিয়ে শুরু হয় এবং ENDM কীওয়ার্ড দিয়ে শেষ হয়।
  • ম্যাক্রোতে প্যারামিটার ব্যবহার করা যেতে পারে, যা কোড লেখাকে আরও গতিশীল করে তোলে।

ম্যাক্রো সংজ্ঞার উদাহরণ:

print_msg MACRO msg
    MOV DX, msg       ; মেসেজের ঠিকানা DX রেজিস্টারে লোড করা
    MOV AH, 09h       ; ডিসপ্লে ফাংশন কল করার জন্য
    INT 21h           ; DOS interrupt কল করা
ENDM

ব্যাখ্যা:

  • print_msg নামে একটি ম্যাক্রো সংজ্ঞায়িত করা হয়েছে, যা একটি স্ট্রিং প্রদর্শনের জন্য ব্যবহৃত হবে।

Macro Expansion (ম্যাক্রো বিস্তার):

  • Macro Expansion তখন ঘটে যখন প্রোগ্রামের মধ্যে ম্যাক্রো কল করা হয়। অ্যাসেম্বলার ম্যাক্রো কলের স্থানে সংজ্ঞায়িত কোডটি প্রতিস্থাপন করে।
  • এটি প্রোগ্রাম লেখা দ্রুত করে এবং কোড পুনরাবৃত্তি হ্রাস করে।

ম্যাক্রো বিস্তারের উদাহরণ:

section .data
    msg db 'Hello, World!', '$'

section .text
    global _start

_start:
    print_msg msg     ; ম্যাক্রো কল যা প্রোগ্রামের মধ্যে বিস্তার করবে

    MOV AH, 4Ch       ; প্রোগ্রাম শেষের জন্য DOS interrupt কল করা
    INT 21h

বিস্তার কীভাবে কাজ করে:

  • যখন print_msg msg ম্যাক্রো কল করা হয়, অ্যাসেম্বলার সেই কলের স্থানে MOV DX, msg, MOV AH, 09h, এবং INT 21h কোড প্রতিস্থাপন করে। এটি এমন মনে হয় যেন সেই কোড সরাসরি লিখিত হয়েছিল।

Macro Definition এবং Macro Expansion এর সুবিধা:

কোড পুনঃব্যবহার:

  • ম্যাক্রো ব্যবহার করে প্রোগ্রামের বিভিন্ন স্থানে একই কোড পুনরায় লিখতে হয় না। এটি কোডের পুনঃব্যবহার নিশ্চিত করে।

কোডের সংক্ষিপ্ততা:

  • কোডকে সংক্ষিপ্ত এবং পাঠযোগ্য করে তোলে। একবার সংজ্ঞায়িত ম্যাক্রো যেকোনো স্থানে সহজেই ব্যবহার করা যায়।

কোডের গঠন:

  • ম্যাক্রো ব্যবহার করলে কোডের গঠন এবং পরিষ্কারতা বৃদ্ধি পায়। প্রোগ্রামাররা জটিল কোড সহজে লিখতে এবং পড়তে পারেন।

Macro Definition এবং Macro Expansion এর অসুবিধা:

বিস্তৃত কোড সাইজ:

  • অনেক ম্যাক্রো ব্যবহার করলে প্রোগ্রাম ফাইলের আকার বড় হতে পারে, কারণ ম্যাক্রো প্রতিটি ব্যবহারের সময় সম্পূর্ণ কোড প্রতিস্থাপন হয়।

ডিবাগিং জটিলতা:

  • ম্যাক্রোতে ভুল থাকলে ডিবাগিং কিছুটা কঠিন হতে পারে, কারণ ম্যাক্রো বিস্তারের ফলে কোডটি দীর্ঘ হয় এবং ত্রুটি খুঁজে বের করা সময়সাপেক্ষ হতে পারে।

সারসংক্ষেপ

Macro Definition হলো ম্যাক্রো সংজ্ঞার মাধ্যমে প্রোগ্রামিং সহজ করার উপায়, যেখানে বারবার ব্যবহারযোগ্য কোড একটি নামে সংরক্ষিত হয়। Macro Expansion হলো সেই সংজ্ঞা যখন প্রোগ্রামে ব্যবহার করা হয়, তখন অ্যাসেম্বলার তার পুরো কোড স্থাপন করে। ম্যাক্রো প্রোগ্রামিংয়ে কোড পুনঃব্যবহার, সংক্ষিপ্ততা, এবং গঠন বাড়াতে সাহায্য করে, তবে অনেক ব্যবহার কোড সাইজ বড় করতে পারে এবং ডিবাগিং কিছুটা জটিল হতে পারে।

common.content_added_by

Assembly Directives: DB, DW, DD, RESB, RESW

244
244

Assembly Directives হলো অ্যাসেম্বলার কমান্ড যা অ্যাসেম্বলারকে মেমোরি বরাদ্দ এবং ডেটা সংরক্ষণের নির্দেশ দেয়। এই ডিরেক্টিভগুলি সরাসরি মেশিন কোডে অনুবাদ হয় না, তবে অ্যাসেম্বলারকে কোড কম্পাইল করার সময় কীভাবে ডেটা মেমোরিতে সংরক্ষণ করতে হবে তা জানায়। নিচে DB, DW, DD, RESB, এবং RESW ডিরেক্টিভগুলির ব্যাখ্যা দেওয়া হলো:


DB (Define Byte):

  • সংজ্ঞা: DB ডিরেক্টিভ একটি বাইট (8-বিট) ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।
  • ব্যবহার:
    • সাধারণত, স্ট্রিং বা একক বাইট মান সংরক্ষণ করতে ব্যবহৃত হয়।
  • উদাহরণ:

    msg DB 'Hello, World!', 0    ; 'Hello, World!' স্ট্রিং এবং শেষে 0 বাইট সংরক্ষণ
    num DB 255                    ; এক বাইটের ডেটা 255 সংরক্ষণ

DW (Define Word):

  • সংজ্ঞা: DW ডিরেক্টিভ একটি ওয়ার্ড (16-বিট) ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।
  • ব্যবহার:
    • 16-বিট সংখ্যা বা ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
  • উদাহরণ:

    value DW 1234h                ; 16-বিটের ডেটা 1234h সংরক্ষণ
    nums DW 1, 2, 3               ; একাধিক 16-বিট মান সংরক্ষণ

DD (Define Double Word):

  • সংজ্ঞা: DD ডিরেক্টিভ একটি ডাবল ওয়ার্ড (32-বিট) ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।
  • ব্যবহার:
    • 32-বিট সংখ্যা বা ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
  • উদাহরণ:

    longNum DD 12345678h          ; 32-বিটের ডেটা 12345678h সংরক্ষণ
    floatNum DD 3.14              ; 32-বিটের ফ্লোট মান সংরক্ষণ

RESB (Reserve Byte):

  • সংজ্ঞা: RESB ডিরেক্টিভ নির্দিষ্ট সংখ্যক বাইট মেমোরি বরাদ্দ করে কিন্তু ডেটা ইনিশিয়ালাইজ করে না।
  • ব্যবহার:
    • সাধারণত, বাফার বা অস্থায়ী স্টোরেজের জন্য নির্দিষ্ট সংখ্যক বাইট বরাদ্দ করতে ব্যবহৃত হয়।
  • উদাহরণ:

    buffer RESB 64                ; 64 বাইট মেমোরি বরাদ্দ কিন্তু ডেটা ইনিশিয়ালাইজ নয়

RESW (Reserve Word):

  • সংজ্ঞা: RESW ডিরেক্টিভ নির্দিষ্ট সংখ্যক ওয়ার্ড (16-বিট ইউনিট) মেমোরি বরাদ্দ করে কিন্তু ডেটা ইনিশিয়ালাইজ করে না।
  • ব্যবহার:
    • প্রোগ্রামে অস্থায়ী 16-বিট স্টোরেজের জন্য ব্যবহৃত হয়।
  • উদাহরণ:

    tempArray RESW 10             ; 10 ওয়ার্ড (প্রতিটি 2 বাইট) মেমোরি বরাদ্দ

Assembly Directives এর ব্যবহার এবং সুবিধা

  • ডেটা ইনিশিয়ালাইজেশন: DB, DW, এবং DD ডিরেক্টিভ ব্যবহার করে প্রোগ্রামে ডেটা ইনিশিয়ালাইজ করা যায়, যা প্রোগ্রামের শুরুতেই ডেটা ব্যবস্থাপনা সহজ করে।
  • মেমোরি বরাদ্দ: RESB এবং RESW ডিরেক্টিভ ব্যবহার করে প্রোগ্রামের জন্য প্রয়োজনীয় মেমোরি বরাদ্দ করা যায়, যা প্রোগ্রাম চলাকালীন সময়ে ব্যবহার করা যায়।
  • সহজ মেমোরি ব্যবস্থাপনা: এই ডিরেক্টিভগুলি ব্যবহার করে প্রোগ্রামার মেমোরি ব্যবস্থাপনা আরও কার্যকরীভাবে করতে পারেন।

সারসংক্ষেপ

DB, DW, DD, RESB, এবং RESW Assembly Directives ডেটা সংরক্ষণ এবং মেমোরি বরাদ্দের জন্য ব্যবহৃত হয়। DB, DW, এবং DD ডিরেক্টিভ ডেটা ইনিশিয়ালাইজ করতে ব্যবহৃত হয়, যেখানে RESB এবং RESW মেমোরি বরাদ্দ করে কিন্তু ডেটা ইনিশিয়ালাইজ করে না। এই ডিরেক্টিভগুলি প্রোগ্রামের মেমোরি ব্যবস্থাপনা এবং ডেটা সংরক্ষণ সহজ করে, যা Assembly Language প্রোগ্রামিংয়ে অত্যন্ত গুরুত্বপূর্ণ।

common.content_added_by

Conditional Assembly এবং LOOP Macros

210
210

Conditional Assembly এবং LOOP Macros Assembly Language প্রোগ্রামিংয়ের উন্নত ধারণা, যা প্রোগ্রামের কার্যপ্রণালী এবং কার্যক্ষমতা নিয়ন্ত্রণের জন্য ব্যবহৃত হয়। Conditional Assembly কোডের নির্দিষ্ট অংশকে বিভিন্ন শর্ত অনুযায়ী কম্পাইল করতে সাহায্য করে এবং LOOP Macros পুনরাবৃত্তিমূলক কাজ সহজ করার জন্য ব্যবহৃত হয়।


Conditional Assembly:

  • সংজ্ঞা: Conditional Assembly এমন একটি পদ্ধতি যেখানে শর্ত অনুযায়ী কোডের নির্দিষ্ট অংশকে অ্যাসেম্বলার কম্পাইল করে বা এড়িয়ে যায়। এটি প্রোগ্রামকে আরও নমনীয় এবং কনফিগারযোগ্য করে।
  • ব্যবহার:
    • প্ল্যাটফর্ম-নির্ভর কোড।
    • ডিবাগিং কোড অন্তর্ভুক্ত করা।
    • ভিন্ন ভিন্ন বৈশিষ্ট্যের জন্য কোড কম্পাইল করা।
  • ডিরেক্টিভ উদাহরণ:
    • IF, ELSE, ENDIF: শর্তাধীন কোড ব্লক ব্যবহারের জন্য।
    • DEFINE: কনস্ট্যান্ট বা ম্যাক্রো সংজ্ঞায়িত করার জন্য।

উদাহরণ:

%define DEBUG 1

section .text
    global _start

_start:
    mov eax, 1
%if DEBUG
    ; ডিবাগিং কোড
    mov ebx, eax
    int 0x80
%endif
    ret

ব্যাখ্যা: যদি DEBUG কনস্ট্যান্ট সংজ্ঞায়িত করা থাকে, তাহলে ডিবাগিং কোড কম্পাইল করা হবে; নাহলে তা এড়িয়ে যাবে।


LOOP Macros:

  • সংজ্ঞা: LOOP Macros Assembly Language-এ পুনরাবৃত্তিমূলক কাজ সহজ করার জন্য ব্যবহৃত হয়। এগুলি প্রোগ্রামের নির্দিষ্ট অংশকে নির্দিষ্ট সংখ্যক বার পুনরাবৃত্তি করতে সাহায্য করে।
  • ব্যবহার:
    • কোড রিডাবিলিটি বাড়াতে।
    • বড় কোড ব্লক পুনরাবৃত্তিমূলকভাবে সম্পাদন করতে।
  • LOOP নির্দেশনা:
    • LOOP নির্দেশনা CX রেজিস্টার ব্যবহার করে। যখন CX > 0 থাকে, তখন LOOP নির্দেশনা বর্তমান লেবেলে জাম্প করে এবং CX-১ করে।

উদাহরণ:

mov cx, 5          ; CX রেজিস্টারে 5 লোড
start_loop:
    ; পুনরাবৃত্তিমূলক কোড
    mov eax, cx    ; প্রত্যেক বার CX এর মান EAX এ লোড
    dec eax        ; EAX এর মান ১ করে কমানো
    loop start_loop ; CX-১ এবং CX > 0 থাকলে start_loop এ জাম্প

Macro ব্যবহার করে LOOP:

%macro PRINT_LOOP 1
    mov cx, %1
.loop:
    ; এখানে আপনার কোড
    dec cx
    jnz .loop
%endmacro

section .text
    global _start

_start:
    PRINT_LOOP 10   ; ম্যাক্রো ব্যবহার করে 10 বার লুপ
    ret

Conditional Assembly এবং LOOP Macros এর সুবিধা

  • কোডের সরলতা এবং রিডাবিলিটি: Conditional Assembly এবং LOOP Macros ব্যবহারের মাধ্যমে কোড সহজ এবং রিডেবল করা যায়।
  • মডুলার প্রোগ্রামিং: Conditional Assembly বিভিন্ন কনফিগারেশনে একই কোড ব্যবহার করতে দেয়।
  • কোড পুনরায় ব্যবহার: Macros প্রায়ই ব্যবহৃত কোড ব্লককে পুনরায় ব্যবহার করতে সাহায্য করে।
  • পুনরাবৃত্তি সহজকরণ: LOOP Macros কোডের পুনরাবৃত্তি সহজে সম্পাদন করে।

সারসংক্ষেপ

Conditional Assembly এবং LOOP Macros Assembly Language প্রোগ্রামিংয়ে কোডের কার্যক্ষমতা এবং রিডাবিলিটি বাড়ায়। Conditional Assembly শর্তের ভিত্তিতে কোড কম্পাইল করতে এবং LOOP Macros পুনরাবৃত্তিমূলক কাজ সহজ করতে ব্যবহৃত হয়। এই টেকনিকগুলি Assembly Language-এ কোড লেখাকে আরও দক্ষ এবং সংগঠিত করে তোলে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion